共计 629 个字符,预计需要花费 2 分钟才能阅读完成。
裴先生在工作中,遇到一种场景:需要在Doris数据库中批量查询或修改特定字段的属性。本文将指导您如何使用SQL来批量查询Doris数据库中所有表的project_name
字段的VARCHAR
长度,并提供了一种方法来批量修改这些字段的长度。
批量查询
查询project_name
的字段长度小于1000的信息,SQL如下:
SELECT
TABLE_NAME,
COLUMN_NAME,
CHARACTER_MAXIMUM_LENGTH
FROM
information_schema.COLUMNS
WHERE
COLUMN_NAME = 'project_name'
AND TABLE_SCHEMA = 'san_ads'
AND CHARACTER_MAXIMUM_LENGTH < 1000;
SQL执行结果如下:
批量修改
思路:通过SQL中CONCAT函数拼接编辑SQL,如下:
SELECT
CONCAT(
'ALTER TABLE ',
TABLE_NAME,
' MODIFY column project_name VARCHAR(3000) NULL COMMENT "项目名称";'
)
FROM
information_schema.COLUMNS
WHERE
COLUMN_NAME = 'project_name'
AND TABLE_SCHEMA = 'san_ads'
AND CHARACTER_MAXIMUM_LENGTH < 1000;
SQL执行结果如下:
同一批次执行上文得到的 ALTER TABLE
语句,即可完成批量修改;
正文完